package singleton;

import java.util.concurrent.*;

/**
 *  阻塞队列的实现类有: ArrayBlockingQueue, LinkedBlockingQueue, PriorityBlockingQueue
 *  阻塞队列的 put 和 take 方法会阻塞
 */
public class demo5_BlockingQueue {
    public static void main(String[] args) throws InterruptedException {
        // 基于数组的阻塞队列
        BlockingQueue<Integer> queue = new ArrayBlockingQueue<>(1000);

        // 基于链表的阻塞队列
        // BlockingQueue<Integer> queue = new LinkedBlockingQueue<>();

        // 基于堆栈的阻塞队列
        // BlockingQueue<Integer> queue = new PriorityBlockingQueue<>();

        // 入队列
        queue.put(1);

        // 出队列
        Integer n = queue.take();
        System.out.println(n);

    }
}
